package aiP.A3.AuftragKomponente.DataAccessLayer.Entity;

import aiP.A3.PersistenceService.iEntity;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.Date;

/**
 * Created with IntelliJ IDEA.
 * User: Hero
 * Date: 22.05.14
 * Time: 13:51
 * To change this template use File | Settings | File Templates.
 */
//@javax.persistence.Table(name = "AI_AUFTRAG", schema = "HR", catalog = "")
@javax.persistence.Table(name = "AI_AUFTRAG", schema = "AIP", catalog = "")
@Entity
public class Auftrag implements iEntity {
    private int auftragsnr;

    @javax.persistence.Column(name = "AUFTRAGSNR")
    @Id

    public int getAuftragsnr() {
        return auftragsnr;
    }

    public void setAuftragsnr(int auftragsnr) {
        this.auftragsnr = auftragsnr;
    }

    private Date beauftragtAm;

    @javax.persistence.Column(name = "BEAUFTRAGT_AM")
    @Basic
    public Date getBeauftragtAm() {
        return beauftragtAm;
    }

    public void setBeauftragtAm(Date beauftragtAm) {
        this.beauftragtAm = beauftragtAm;
    }

    private int istAbgeschlossen;

    @javax.persistence.Column(name = "IST_ABGESCHLOSSEN")
    @Basic
    public int getIstAbgeschlossen() {
        return istAbgeschlossen;
    }

    public void setIstAbgeschlossen(int istAbgeschlossen) {
        this.istAbgeschlossen = istAbgeschlossen;
    }

    private int angebotsnr;

    @javax.persistence.Column(name = "ANGEBOTSNR")
    @Basic
    public int getAngebotsnr() {
        return angebotsnr;
    }

    public void setAngebotsnr(int angebotsnr) {
        this.angebotsnr = angebotsnr;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Auftrag auftrag = (Auftrag) o;

        if (angebotsnr != auftrag.angebotsnr) return false;
        if (auftragsnr != auftrag.auftragsnr) return false;
        if (istAbgeschlossen != auftrag.istAbgeschlossen) return false;
        if (beauftragtAm != null ? !beauftragtAm.equals(auftrag.beauftragtAm) : auftrag.beauftragtAm != null)
            return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = auftragsnr;
        result = 31 * result + (beauftragtAm != null ? beauftragtAm.hashCode() : 0);
        result = 31 * result + istAbgeschlossen;
        result = 31 * result + angebotsnr;
        return result;
    }
}
